home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 308_01 / rmez.doc < prev    next >
Text File  |  1990-06-16  |  2KB  |  39 lines

  1.                                                 31 October 1989
  2.  
  3. The files RMEZGOTO.C and RMEZLOOP.C are translations into the C
  4. language of the classic Parks McClellan Remez FIR filter design
  5. program.
  6.  
  7. The translations are based on the FORTRAN program as listed in
  8. the 1975 Prentice Hall book "Theory and Application of Digital
  9. Signal Processing" by Rabiner & Gold.  The file RMEZGOTO.C is a
  10. direct, almost line for line translation including 47 goto
  11. statements; RMEZLOOP.C substitutes "while()" loops where
  12. appropriate, reducing the number of gotos to 5.
  13.  
  14. The program has been modified to output the file IMPULSE.RMZ in
  15. lieu of punched cards.
  16.  
  17. Compiles with Borland Turbo C vers 2.0 command "tcc rmezloop.c"
  18. or with Microsoft Quick C vers 2.00 commands "qcl rmezloop.c /c"
  19. and "link rmezloop.obj /STACK:0x2000".
  20.  
  21. The file PAD.C reads a commandline-specified file and writes the
  22. file PADDED.DAT containing the commandline number of data
  23. points.  Adds "0.0"s if needed to create sufficient points.
  24. Useful for zero padding short impulse response sequences so that
  25. a long FFT can be used to obtain good frequency resolution.
  26. Usage:    pad filename #points.
  27. Example:  pad impulse.rmz 512.
  28.  
  29. The file COEFF.C estimates the required number of filter
  30. coefficients and is based on the formula on p. 156 of the book by
  31. Rabiner & Gold.  It has been written to specify passband ripple
  32. in dB instead of in percent deviation.
  33.  
  34. These translations are released to the public domain.
  35.  
  36.                                         Bob Briggs
  37.                                         1337 Rossway Ct.
  38.                                         Los Altos, CA 94024
  39.